1. Field
The embodiments relate to variable length coding (VLC) units, and more particularly to VLC unit within a multiprocessor environment.
2. Description of the Related Art
Image and Video compression standards like joint photographics expert group (JPEG), moving picture experts group (MPEG), such as MPEG2 and MPEG4, use variable length coding (VLC) based on a data compression technique that varies the length of the encoded symbol in proportion to its information content. That is the more often a symbol or token is used, the shorter the codeword used to represent it in the compressed stream. This type of coding is referred to as Huffman coding, which reduces data redundancy. VLC based on Huffman Coding is the most popular lossless data compression technique and is recommended by many image and video standards such as JPEG, MPEG, MPEG2, and MPEG4.
A VLC data flow pipeline may be described as follow. Each block of input (e.g., 64 words) is first placed in zigzag order. The zigzagged data is then run-length coded (counting the number of zero values before a non-zero value). The resulting (run, level) information is used in the next stage to lookup VLC tables to determine its codeword. The variable length codeword is then bit-packed in the last stage and set out as an output stream.